要使用圖來表達與非專業人員的執行程序與流程,除了一般的流程圖就能做到之外,本題要介紹的這個圖,是用角色、順序來分類,而且可以充分表達職責與流程。
這個圖叫做業務流程圖,也叫泳道圖。
繪製方針是先定義某個行為,然後列出行為會涉及的對象,並且做成流程圖,像是下面這張圖:
根據上圖的情境假想: 公司請你設計了一個 B2C 店商平台,而你目前正在討論一個退貨的流程,並且釐清你需要串接哪些系統,涉及的職責有哪些,在上圖中,很明顯可以看到 物流系統
、物料廠商
都需要接收到某些事件的請求,如果他們是傳統產業而沒有系統,也得算是這個系統的使用者之一,如果他們已經有系統,那麼與傳產公司之間的對接就需要申請 API 對接,而你的系統似乎可能也要開一個 Router (Web Hook) 給他們回傳訊息。
現在,你的客戶開始申辦退貨,而你也通知了物流系統,請他們派工收貨,結果,此時因為便利畫圖而偷懶,把箭頭順序改成雙向,此時的問題是別人會看不清楚做事的順序,我們可能得保持這個流程圖只能是單執行緒,但可以有協程 (Coroutine) ,所以,必須要改善第二層 (派工收貨流程那邊) 的畫法:
現在,每個流程只會做一件事,而且都有 input
和 output
,看起來就很讚讚。
泳道圖不一定要是垂直的,也可以是平行的,這完全取決於你想怎麼呈現。
我在畫圖軟體範本看到也有另一個可以帶有更多維度資訊的泳道圖畫圖方式,像是以下圖的例子就是按照狀態定義目前是誰正在處理業務。
這是一個海超人向 IT 銀行申請魔法小卡的過程,那麼,從圖片上也可以看出,客戶海超人在不同的流程狀態下他可能會有哪些行為。
這張流程圖說明得並不細 (detail),辦過卡卡的人會知道調閱聯徵,海超人可能會在隔天下午 3:30 收到調閱通知,甚至審核通過都會收到簡訊,而且審核照會不一定會有接到電話的通知 (可能有某種決定方式); 會決定省略一些細節是因為覺得聯徵中心的通知似乎跟銀行業務部門都無關,所以會直接略過。 反正就是,找到誰是主角,似乎才是最關鍵的。
本次使用的繪圖軟體:
延伸閱讀:
[1]: RACI